package com.cowin.sys.service;

import com.cowin.sys.model.TmVhcVehicle;
import com.cowin.base.Service;
import com.cowin.sys.model.VehicleImpress;
import com.cowin.sys.model.vo.*;

import java.util.List;
import java.util.Map;


/**
 * Created by  on 2019/09/24.
 *
 * @author CodeGenerator
 */
public interface TmVhcVehicleService extends Service<TmVhcVehicle> {
    /**
     * 功能描述: <br>
     *  <hold车辆查询>
     * @param:[holdVehicle]
     * @return:java.util.List<com.cowin.sys.model.TmVhcVehicle>
     * @author:yuchao
     * @date: 2020/3/17 14:29
     */
    List<TmVhcVehicle> searchHoldVehicle(HoldVehicle holdVehicle);

    /**
     * 功能描述: 根据Vin号 获取车辆信息<br>
     *
     * @param vinNo vinNo
     * @return:
     * @since: 1.0.0
     * @Author:yuchao
     * @Date: 2019/11/20 15:07
     */
    TmVhcVehicle findByVinNo(String vinNo);

    /**
     * 功能描述: <br>
     *  <车型 颜色 天窗 配置解析表>
     * @param:[]
     * @return:java.util.List<com.cowin.sys.model.VehicleImpress>
     * @author:yuchao
     * @date: 2020/3/17 14:28
     */
    List<VehicleImpress> getSettingDict();

    /**
     * 功能描述: <br>
     *  <判断是白车身 还是油漆车身>
     * @param:[vin]
     * @return:java.lang.String
     * @author:yuchao
     * @date: 2020/3/17 14:28
     */
    String isPsOrWsBody(String vin);

    /**
     * 功能描述: <br>
     *  <根据焊装10 20 涂装10 20 总装 10 20 30点位 查询在制车辆信息 >
     * @param:
     * @return:
     * @author:yuchao
     * @date: 2020/3/20 13:42
     */
    List<OnLineMakeVehicle> onLineMakeByPoint(String point,String vin);

    /**
     * 功能描述: 车辆细节查询过滤  查询条件：销售类型、物料号、批次号、扫描点&扫描点开始与结束时间(不大于30天)<br>
     *  <VIN、白车身号、白车身物料号、油漆车身物料号、整车物料号、整车物料描述、颜色、车辆公告号、生产批次号、生产订单号、销售类型、加工类型、出口国家>
     * @param:
     * @return:
     * @author:yuchao
     * @date: 2020/3/31 14:48
     */
    List<VehicleDetails> getVehicleDetails(VehicleDetails vehicleDetails);
    /**
     * 功能描述: <br>
     *  <获取车型配置。>
     * @param:
     * @return:
     * @author:yuchao
     * @date: 2020/4/1 12:47
     */
    List<SysCodeVo>  getVehicleType();

    /**
     * 功能描述: <br>
     *  <车身颜色配置解析>
     * @param:
     * @return:
     * @author:yuchao
     * @date: 2020/3/31 15:07
     */
    List<SysCodeVo> getVehicleColorConfig();

}
